package day06;
//方法的演示
/*
方法的调用：
①无返回值：方法名（有参传参）
②有返回值：数据类型 变量= 方法名（有参传参）
 */
public class MenthodDemo {
    public static void main(String[] args) {
        //1
        say();
        //2
        sayHi("xuchuanying");//调用
        sayHi("jiaqi");
        sayHello("xuchuan",25);
        sayHello("jiaqi",23);
        //3
        double a = getNum();
        System.out.println(a);//55---模拟对返回值的后续操作
        //4
        int b = plus(5,6);//11---模拟对返回值的后续操作，给后面的num1和num2赋值
        System.out.println(b);
        //5
        int[] c = testArray();
        System.out.println("数组的长度为"+c.length);
        int[] d = testArray();
        System.out.println("第一个元素的值为："+d[0]);
        for(int i=0;i<d.length;i++){
            System.out.println(d[i]);
        }
        //6
        int[] q = testArray1(5,100);
        System.out.println("数组的长度为"+q.length);
        int[] w = testArray1(22,40);
        System.out.println("数组的长度为："+w.length);
        for(int i=0;i<w.length;i++){
            System.out.println(w[i]);
       }
        //7
        int[] r = testArray1(22,90);
        System.out.println("第一个元素的值为："+r[0]);
        for(int i=0;i<r.length;i++){
            System.out.println(r[i]);
        }
        //8
        sayHello1("zhangsan",25);
        sayHello1("lisi",80);
          //9.
          aMethod();
         System.out.println(444);
    }


    //1.无参无返回值
    public static void say() {
        System.out.println("大家好");
    }
    //2.有参无返回值
    public static void sayHi(String name){
        System.out.println("大家好，我叫"+name);
    }
    //3.有参无返回值
    public static void sayHello(String name,int age){
        System.out.println("大家好，我叫"+name+"我今年"+age+"岁了");
    }
    //4.无参有返回值
    public static double getNum(){
        return 5.5;//return后数据的类型必须与返回值类型匹配 ①结束方法的执行 ②返回结果给调用方
        /*
        在返回值的方法中，必须通过return来返回数据
        retrun//编译错误，return后必须跟一个数据
        return“abc”//编译错误，return后数据的类型必须与返回值类型匹配
         */
    }
    //5.有参有返回值
    public static int plus(int num1,int num2){
        int num = num1 +num2;
        return num;//返回的是num里面的那个数==num1+num2的值
    }
    //6.无参有返回值
    public static int[] testArray(){
        int[] arr = new int[10];
        for(int i = 0;i<arr.length;i++){
            arr[i] = (int)(Math.random()*100);
        }
        return arr;
    }
    //7.有参有返回值
    public static int[] testArray1(int len,int max){
        int[] arr = new int[len];
        for(int i = 0;i<arr.length;i++){
            arr[i] = (int)(Math.random()*(max+1));
        }
        return arr;
    }
    //8.有参无返回值
    public static void sayHello1(String name ,int age){
      if(age>60){
          return;//①结束方法的执行------用在无返回值的方法中
    }
        System.out.println("大家好，我叫"+name+",今年"+age+"岁了");
    }
    //9.嵌套调用
    public static void aMethod(){
        System.out.println(111);
        bMethod();
        System.out.println(222);
    }
    public static void bMethod(){
        System.out.println(333);
    }
}